package top.tagao.yygh.hosp.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.data.domain.Page;
import top.tagao.yygh.model.hosp.HospitalSet;
import top.tagao.yygh.model.hosp.Schedule;
import top.tagao.yygh.vo.hosp.ScheduleOrderVo;
import top.tagao.yygh.vo.hosp.ScheduleQueryVo;

import java.util.List;
import java.util.Map;

/**
 * @author fu-xiao-liu
 * @Date 2022/3/5 11:19
 */

public interface ScheduleService extends IService<Schedule> {

    //上传排班接口
    void save(Map<String, Object> paramMap);


    //查询排班接口
    Page<Schedule> findPageSchedule(int page, int limit, ScheduleQueryVo scheduleQueryVo);


    //删除排班接口
    void remove(String hoscode, String hosScheduleId);


    //根据医院编号 和 科室编号 ，查询排班规则数据
    /**
     * @date  根据医院编号 和 科室编号 ，查询排班规则数据
     */
    Map<String, Object> getScheduleRule(long page, long limit, String hoscode, String depcode);



    /**
     * @date  根据医院编号 、科室编号和工作日期，查询排班详细信息
     */
    List<Schedule> getDetailSchedule(String hoscode, String depcode, String workDate);

    /**
     * 获取排班可预约日期数据
     */
    Map<String, Object>getBookingScheduleRule(Integer page, Integer limit, String hoscode, String depcode);


    /**
     * @date  根据排班id获取排班数据
     */
    Schedule getById(String scheduleId);

    /**
     * @date  根据排班id获取预约下单数据
     */
    ScheduleOrderVo getScheduleOrderVo(String scheduleId);

    /**
     * @date  修改排班
     */
    void update(Schedule schedule);


}
